package com.yungu.swift.system.finance.model.param;

import com.yungu.swift.base.model.admin.AdminPageParam;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.Optional;

/**
 * 订单支付分页参数
 *
 * @author : cuixiuyin
 * @date : 2019/8/21
 */
public class AdminOrderFlowPageParam extends AdminPageParam {

    @ApiModelProperty(value = "业务类型", example = "0")
    private Integer businessType;

    @ApiModelProperty(value = "代理")
    private String agentUuid;

    @ApiModelProperty(value = "公司")
    private String companyUuid;

    @ApiModelProperty(value = "城市")
    private String cityUuid;

    @ApiModelProperty(value = "时间类型(1 订单创建时间 2 订单完成时间)", example = "0")
    private Integer timeType;

    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    @ApiModelProperty(value = "支付方式(1 乘客 2 司机)")
    private String paySide;

    @ApiModelProperty(value = "支付渠道(乘客微信:200102 乘客支付宝:200103 乘客余额:20010101,20010102 司机余额支付:200201 " +
            "司机微信支付:200202 司机支付宝支付:200203 优惠券抵扣: 200301,200302)")
    private String payType;

    @ApiModelProperty(value = "支付状态(0未支付 1已支付 2,3已支付(退款中))")
    private String payStatus;

    @ApiModelProperty(value = "订单流水/订单号")
    private String mix;

    public Integer getBusinessType() {
        return businessType;
    }

    public void setBusinessType(Integer businessType) {
        this.businessType = businessType;
    }

    public String getAgentUuid() {
        return Optional.ofNullable(agentUuid).orElse(super.getUserAgentUuid());
    }

    public void setAgentUuid(String agentUuid) {
        this.agentUuid = agentUuid;
    }

    public String getCompanyUuid() {
        return Optional.ofNullable(companyUuid).orElse(super.getUserCompanyUuid());
    }

    public void setCompanyUuid(String companyUuid) {
        this.companyUuid = companyUuid;
    }

    public String getCityUuid() {
        return cityUuid;
    }

    public void setCityUuid(String cityUuid) {
        this.cityUuid = cityUuid;
    }

    public Integer getTimeType() {
        return timeType;
    }

    public void setTimeType(Integer timeType) {
        this.timeType = timeType;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getPaySide() {
        return paySide;
    }

    public void setPaySide(String paySide) {
        this.paySide = paySide;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(String payStatus) {
        this.payStatus = payStatus;
    }

    public String getMix() {
        return mix;
    }

    public void setMix(String mix) {
        this.mix = mix;
    }
}
